home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
MEDICAL
/
2608A.ZIP
/
GP.ZIP
/
RPDOC.SRC
< prev
next >
Wrap
Text File
|
1990-11-03
|
5KB
|
266 lines
;\|
DO_DEFINES:
define(TOT_RECORDS|N|8||)
define(PAGE|N|5||)
define(DOC|N|1||)
define(SELECT_FROM1|S|8||)
define(SELECT_THRU1|S|8||)
define(BREAK_FIELD|N| 4||)
OPEN_FILES:
open(RP|||)
open(PATIENT|||)
trap(Q|G|EXIT)
pchr(P|4)
pchr(P|1)
MOUNT_SCR:
mount(SELECT|S)
pmsg(" F1 - Help ESC - Exit "|1|25|N|Y|S|)
START:
DOC = (1)
MOUNT_RPT:
trap(I|G|ABORT_RPT)
trap(R|S|DO_RELATED)
trap(P|S|PRT_TOF)
mount(ISSUE1|R|A)
pset(128|66|60)
FIND_FIRST:
find(B|RP.REF|NO_RECS)
BREAK_FIELD = (RP.REF)
PRT_DETAIL:
gosub CHK_BREAK
pfmt(3||||)
TOT_RECORDS = (TOT_RECORDS + 1)
FIND_NEXT:
find(N|RP|FINISH)
goto PRT_DETAIL
ABORT_RPT:
pmsg(""|||N|N|D|)
pmsg(""|||N|N|D|)
pmsg(">>>>> Report was terminated before completion <<<<<"|||N|N|D|)
pmsg(""|||N|N|D|)
pmsg(""|||N|N|D|)
FINISH:
pblnk(2)
pmsg(" Total records printed: ";TOT_RECORDS|||N|N|D|)
trap(P|D)
ptof
DOC = (DOC+1)
if doc > (4) goto exit
trap(R|S|DO_RELATED)
trap(P|S|PRT_TOF)
ptof
goto FIND_FIRST
EXIT:
run("recmenu")
DO_RELATED:
trap(R|D)
find(R|RECORD.NUMBER|RP.REF|NO_RFIND)
trap(R|S|DO_RELATED)
if DOCTOR <> (DOC) do
{
pops
goto FIND_NEXT
}
ret
PRT_TOF:
gosub GET_DATE
pfmt(1||||)
pfmt(2||||)
ret
CHK_BREAK:
if BREAK_FIELD = (RP.REF) ret
pfmt(4||||)
BREAK_FIELD = (RP.REF)
ret
NO_RECS:
MESSAGE[1] = ("There are no records in the primary file")
NUM.MSG = (1)
gosub PRT.MSG
goto EXIT
NO_RFIND:
MESSAGE[1] = ("A matching record was not found during a related find")
NUM.MSG = (1)
gosub PRT.MSG
goto EXIT
GET_DATE:
define(DATE_TIME|A|54||)
define(CHG_TIME|T|8||)
define(CHG_DATE|D|10||)
define(STDDAYS|A|12||)
define(STDMONTH|A|12||)
define(STDYEAR|A|6||)
define(STDAYH|A|4||)
define(AM_PM|A|2||)
define(TIME_STRG|A|10||)
PAGE = (PAGE + 1)
time(CHG_TIME|G)
date(CHG_DATE|G)
AM_PM = ("AM")
if CHG_TIME > (43199) doO
{
AM_PM = ("PM")
if CHG_TIME > (46799) then CHG_TIME = (CHG_TIME - 43200)
}
TIME_STRG =mid(CHG_TIME|1|8|)
STDDAYS =day(CHG_DATE)
STDMONTH =xmt(CHG_DATE)
STDAYH =mid(CHG_DATE|4|2|)
STDYEAR =mid(CHG_DATE|7|4|)
DATE_TIME = (STDDAYS & " " + STDMONTH & " " + STDAYH & ", " + STDYEAR & " " + TIME_STRG & " " +AM_PM)
just(DATE_TIME|C)
ret
PRT.MSG:
define(LNE.LNGTH|N|2||)
define(LNE.LN2|N|2||)
define(NUM.MSG|N|2||)
define(MESSAGE|A|78||15)
define(ENT.MASK|A|10||)
define(LLC|N|2||)
define(WD|N|2||)
define(HT|N|2||)
define(MCNTR|N|5||)
define(MCNTR2|N|5||)
define(MCNTR3|N|5||)
define(MCNTR4|N|5||)
LNE.LNGTH = (0)
for(MCNTR|1|NUM.MSG|1)
{
LNE.LN2 =siz(A|MESSAGE[MCNTR])
if LNE.LN2 > (LNE.LNGTH) then LNE.LNGTH = (LNE.LN2)
}
NUM.MSG = (NUM.MSG + 1)
if LNE.LNGTH < (26) then LNE.LNGTH = (26)
LNE.LNGTH = (LNE.LNGTH + 4)
LLC = (40 - (LNE.LNGTH / 2))
HT = (NUM.MSG + 3)
WD = (LNE.LNGTH + 1)
saves(1)
window(LLC|24|HT|WD)
NUM.MSG = (NUM.MSG - 1)
pmsg(""||||||)
for(MCNTR|1|NUM.MSG|1)
{
pmsg(MESSAGE[MCNTR]|3||N|N|S|)
}
pmsg("Press any key to continue"|3||Y|N|S|)
redsp(1)
ret
ENT.MSG:
define(OK|A|1||)
LNE.LNGTH = (0)
for(MCNTR|1|NUM.MSG|1)
{
LNE.LN2 =siz(A|MESSAGE[MCNTR])
if LNE.LN2 > (LNE.LNGTH) then LNE.LNGTH = (LNE.LN2)
}
LNE.LN2 =siz(A|MESSAGE[NUM.MSG])
LNE.LN2 = (LNE.LN2 + 2)
if LNE.LNGTH < (LNE.LN2) then LNE.LNGTH = (LNE.LN2)
LNE.LNGTH = (LNE.LNGTH + 4)
LLC = (40 - (LNE.LNGTH / 2))
HT = (NUM.MSG + 3)
WD = (LNE.LNGTH + 1)
saves(1)
window(LLC|24|HT|WD)
pmsg(""||||||)
for(MCNTR|1|NUM.MSG|1)
{
MCNTR2 = (MCNTR + 1)
pmsg(MESSAGE[MCNTR]|3|MCNTR2|N|Y|S|)
}
LNE.LN2 = (LNE.LN2 + 2)
trap(%|I|)
enter(OK|ENT.MASK|||Y|Y|N|LNE.LN2|MCNTR2|N)
ENT.MASK = ("")
redsp(1)
ret
\STSELECT
Selection Screen For
RP REPORT BY DOCTOR
════════════════════════════════════════════════════════════════════════════════
PRESS A KEY TO CONTINUE -
\
\
\R ISSUE1
PATIENT NAME MEDICATION FOR DOCTOR & LAST
================================================================================================================
& & & & [&] &
& & & &
\
DOC
MEDICATION
DOSE
QUANTITY
DIRECTIONS
AUTO.ON.DEMAND
ISSUE.1
PATIENT.NAME
DATE.OF.BIRTH
DISPENSING
SEEN
\